import axios from "axios"
//@ts-ignore
import  NProgress from "nprogress"
import "nprogress/nprogress.css"

//网络请求基础地址
export const serverUrl= 'https://hdf-app-server.penkuoer.com'
const instance =axios.create({
  baseURL:serverUrl,
  timeout:2000,
/*   withCredentials: true, */
})


// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  NProgress.start() //启动进度条
  config.headers["token"] = sessionStorage.getItem("token"); //请求头
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  NProgress.done()
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response;
}, function (error) {
  NProgress.done()

  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});


/**
 * 发起get请求
 * @param url  请求地址
 * @param params  url中传递的参数
 * @returns 
 */
export const get =(url:string,params:any={})=>instance.get(url,{params}).then(res=>res.data)


/**
 * post 请求
 * @param url 
 * @param data 
 * @returns 
 */
export const post =(url:string,data:any)=>instance.post(url,data ).then(res=>res.data)

/**
 * put请求
 * @param url 
 * @param data 
 * @returns 
 */
export const put =(url:string,data:any)=>instance.put(url,data ).then(res=>res.data)

/**
 * del请求
 * @param url 
 * @returns 
 */

export const del =(url:string)=>instance.delete(url ).then(res=>res.data)



